本來要寫topic/service/action之間的比較文的,但是晚上要去參加同事婚宴,感覺今天沒什麼時間寫文章,決定先來寫篇簡單但卻相當重要的一個坑: 多台電腦共用master。
ROS1.0最重要的功能就是roscore,也就是master的功能,作用是管理各個node之間的串接,不論是topic/service/action都依靠master進行轉送message的任務。
master在一個系統中會一直處於active的狀態,並且一個系統只能有一個master作為最高權限的管理者,但在大型專案下,使用同一台電腦執行所有的node,有時候會使電腦掛掉,因此筆者的同事就發現了這個好用的方法,可以讓多台電腦共用同一個master進行管理。操作方法很簡單,只要在雙方連線的電腦內的~/.bashrc
中加入下列兩行:
export ROS_Master_URI=http://192.168.0.123:11311
export ROS_IP=192.168.0.123
就完成囉XDDD
若是自己的電腦要當主master,兩個IP設定一致就可以了。
http://wiki.ros.org/Master
https://hollyqood.wordpress.com/2017/05/17/ros%E4%B8%8A%E5%90%8C%E6%99%82%E4%BD%BF%E7%94%A8%E5%A4%9A%E5%80%8B%E7%92%B0%E5%A2%83%E9%80%A3%E6%8E%A5masterroscore/
https://medium.com/codeda/%E5%B0%88%E9%A1%8C%E7%AD%86%E8%A8%98-ros-8-master-slave%E8%A8%AD%E5%AE%9A-5ac291478294